package com.weimin.ghostdrop.service;

import org.springframework.web.multipart.MultipartFile;
import java.io.IOException;
import java.nio.file.Path;

/**
 * @author : huiMing
 * Date : 2025年07月31日 14:16
 * @version V1.0
 */
public interface FileStorageService {
    /**
     * 存储文件到指定目录
     * @param file 要存储的文件
     * @return 存储后的文件在服务器上的相对路径 (例如: /uploads/images/unique_filename.jpg)
     * @throws IOException 如果文件存储失败
     */
    String storeFile(MultipartFile file) throws IOException;

    /**
     * 获取文件的完整URL
     * @param relativePath 文件在服务器上的相对路径
     * @return 文件的完整访问URL (例如: http://localhost:8080/images/unique_filename.jpg)
     */
    String getFileUrl(String relativePath);

    /**
     * 加载文件为资源
     * @param filename 文件名
     * @return 文件路径
     */
    Path load(String filename);
}
